<!DOCTYPE html>
<style>
#child {
    width: 50px;
    height: 50px;
    background: red;
    border: 1px solid red;
}

.animate {
    animation: flash 0.2s infinite;
}

@keyframes flash {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
</style>
<div id="container">
    <div id="child"></div>
</div>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script>
var test = async_test("Canceling an animation should not leave dirty bits on display none elements");

var child = document.getElementById("child");
var container = document.getElementById("container");

child.addEventListener("animationstart", test.step_func_done(() => {
    container.style.display = "none";
    child.style.borderWidth = "10px";
    assert_equals(getComputedStyle(child).borderWidth, "10px");
    child.style.borderWidth = "5px";
    assert_equals(getComputedStyle(child).borderWidth, "5px");
}));

child.classList.add("animate");
</script>

